Today a homeowner that has a theater consisting of multiple entertainment components in a single room and/or a distributed audio system consisting of multiple entertainment components distributed through the house has 3 choices on how to control it: 1) use multiple individual remote controllers, 2) program and use a programmable remote controller, or 3) write a custom program for a touch screen display. Each of these methods has multiple problems. In addition, today, documentation and testing of entertainment systems are poorly implemented and very time consuming.
Many homeowners today have theater systems with at least the following components:
1. VCR player,
2. DVD player,
3. Satellite or Cable receiver,
4. Personal Video Recorder,
5. Surround sound receiver, and a
6. Television or projector or plasma display.
For this rather typical system, the homeowner now has six remote controllers—one for each of the above systems. Furthermore, some theater systems add:
7. Video processor,
8. CD jukebox,
9. Digital music player,
10. drop down screen,
11. remote controlled lighting, and
12. remote controlled window treatments
This set of additional components and devices requires even more remote controllers.
For the homeowner, just changing the channel requires finding the right controller and remembering which button to press, but turning the system on and off is much more difficult in that multiple devices need to be controlled in order to watch a particular AV source such as the DVD player. For example, in order to watch a DVD, the following commands must be executed:                1. Turn on the DVD player        2. Make sure the DVD player did turn on and then wait until it is powered up        3. Play the DVD        4. Turn on the Surround sound receiver        5. Make sure the Surround sound receiver did turn on and then wait until it is powered up        6. On the Surround sound receiver select the DVD input        7. Turn on the TV        8. Make sure the TV did turn on and then wait until it is powered up        9. Select the appropriate input and/or channel on the TV        
Obviously, this situation is very complex for even the most knowledgeable users, and nearly impossible for anyone who hasn't been trained on how to use that particular theater system. Therefore, homeowners have tried two other methods to reduce the complexity of controlling their home theaters: programmable remote controllers and custom programs.
Today, there are a large number of programmable remote controllers on the market. With these remote controllers, the homeowner enters various codes into the remote controller and/or learns the IR codes directly from the existing remote controller that came with the audio/video component to be controlled so that the programmable remote controller can control each of the AV components above. The result is a single remote controller that can control some number of functions of each AV component when the remote control is pointed at that component.
The programmable remote controller can greatly reduce the number of controllers needed to control many operations of the home theater. However, it doesn't reduce the complexity. The homeowner, still needs to fully understand the whole system and how each component is interconnected with other components in order to turn the right components on and off at the appropriate times, and the homeowner must push additional buttons on the programmable remote controller to tell the programmable remote controller which AV component to control for each step of the process.
To try to reduce this last problem, many programmable remote controllers execute “macros”. A macro is a group of commands that are executed together as a result of pushing one button on the programmable remote controller. Each macro must be programmed into the programmable remote controller one step at a time. This process and the end result still have many problems. First, programming the programmable remote controller takes a lot of trial and error to get the wait times correct. Second, the homeowner either ends up with more macros than he can assign to buttons that can be easily documented or he ends up with so few that important functions are left out. And, when using the macro, the user will often have to point the programmable remote controller in multiple directions (at each audio/video component) in sync with the execution of the macro because the IR beam that emits from the programmable remote controller is highly directional and must be pointing at the AV component to be controlled while the commands for that AV component are being emitted. More over, if one of the AV components gets out of sync then the homeowner must revert back to fully comprehending the exact state that each component must be in and then use the individual commands to recreate that state.
For many of these reasons, some homeowners have turned to custom programmed graphical user interfaces from vendors such as AMX and Crestron. The custom programmed graphical user interface can be programmed such that pushing a single well-labeled button on a touch screen display will execute the correct set of commands in the correct order. In addition, with some of these systems, the “power status” (i.e., whether the power of the component is on or off) of each AV component can be obtained by the program through the use of some additional hardware. Therefore, the programmer of a custom programmed graphical user interface can maintain synchronization of all of the AV components.
However, custom programmed graphical user interfaces suffer from a number of problems as well. First, these systems are expensive because each system needs to be individually programmed by a programmer who not only must know about software programming, but who also must know a lot about audio/video systems. Second, these systems may have a number of bugs in them in that this is a custom program that is generally not tested very well. Third, every time a new AV component is introduced in the market, a new program must be created for that component. Fourth, in addition to programming the behavior of the new AV component, every system that uses that component must have its program modified, as well. And, finally, the program to control the entertainment system is only part of the solution. Documentation and testing of the interconnection of all AV components is also needed, and, again, this documentation must be updated, and the testing procedure must be developed, with every new component that is added.
In addition to a theater as described above, many homeowners also want to distribute audio and video sources to multiple rooms of the house. In each room, the homeowner would then like to control which AV source is playing, the selection that is playing on that AV source, and other operations such as volume, balance, bass, treble, etc. This implies that multiple rooms in the house now have the same issues as the theater room described above. Taking this one step further, with distributed audio video systems it is usually possible for different users to try to use some or all of the audio/video path from one or more sources to one or more speakers or video displays. For example, one person may be in the kitchen watching a DVD player located in the family room when another person in the living room wants to watch the satellite receiver that is also located in the family room. It may be the case that these two sources try to travel over part of the same path in which case selecting one path may block the other path. These complex path problems are common in high end audio video systems.